Applicative bidirectional programming
نویسندگان
چکیده
منابع مشابه
Towards Applicative Relational Programming
Functional programming comes in two flavours: one where “functions are first-class citizens” (we call this applicative) and one which is based on equations (we call this declarative). In relational programming clauses play the role of equations. Hence Prolog is declarative. The purpose of this paper is to provide in relational programming a mathematical basis for the relational analog of applic...
متن کاملMatrix algebra and applicative programming
fast Fourier transform. Abstract The broad problem of matrix algebra is taken up from the perspective of functional programming. A key question is how arrays should be represented in order to admit good implementations of well-known eecient algorithms, and whether functional architecture sheds any new light on these or other solutions. It relates directly to disarming the \ag-gregate update" pr...
متن کاملAdventures in Bidirectional Programming
Most programs get used in just one direction, from input to output. But sometimes, having computed an output, we need to be able to update this output and then "calculate backwards" to find a correspondingly updated input. The problem of writing such bidirectional transformations — often called lenses — arises in applications across a multitude of domains and has been attacked from many perspec...
متن کاملBidirectional Certified Programming
Certified programming is one of the desirable approaches to developing dependable software, where expected properties of programs are formally proved by proof assistants such as Coq. One way for certified programming with Coq is to define a function, give proofs for its properties in Coq, and then extract a program in OCaml. Another way for certified programming with Coq is to import the defini...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Journal of Functional Programming
سال: 2018
ISSN: 0956-7968,1469-7653
DOI: 10.1017/s0956796818000096